<?php
/*
 * creator cwj
 * createdate 2018-07-06
 * 项目入口文件
 * **********************************************************************************************
 */
header('Content-type: text/html; charset=utf-8');
function dump($param){
	echo '<pre>';
	print_r($param);
}
$filePath = '/src/view/'; // 初始化请求文件路径   请求类型可能有 html js img和其他格式文件
// 根据查询字符串拼接真是的文件路径，以达到优化url的目的
$queryStrArr = explode('/', $_SERVER['QUERY_STRING']);
if (! empty($queryStrArr)) {
	// 获取查询字符串长度，少于三的直接判断为文件不存在
	$queryStrArrLen = count($queryStrArr);
	// 判断请求文件后缀
	$endElement = explode('.', $queryStrArr[$queryStrArrLen-1]);
	$fileExtension = end($endElement); // 获取文件后缀
	if (in_array($fileExtension, array('js', 'css', 'png', 'jpg'))) {
		// 请求其他资源文件时
		$filePath = $_SERVER['QUERY_STRING'];
		// 直接输出文件
		echo file_get_contents('.' . $filePath);return;
	} else {
		// 请求html时
		if ($queryStrArrLen < 3) {
			echo '文件不存在';return;
		} elseif ($queryStrArrLen == 3) {
			$filePath .= $queryStrArr[1] . '/' . $queryStrArr[2];
			// 如果没有html后缀的则添加上
			if (! strpos($queryStrArr[2], ".html")) {
				$filePath .= '.html';
			}
			$url = 'http://' . $_SERVER['HTTP_HOST'] . $filePath;
		} else {
			// QUERY_STRING数组第三个元素以后的默认为请求参数 ,'/键/值/键值/...'形式
			$filePath .= $queryStrArr[1] . '/' . $queryStrArr[2] . '.html';
			// 去掉查询字符串最后的html
			$queryStrArr[$queryStrArrLen-1] = str_ireplace('.html', '', $queryStrArr[$queryStrArrLen-1]);
			$queryStr = '?whoAmI=kiwi'; // 拼接后面用于请求的查询字符拆
			for ($i = 3; $i < $queryStrArrLen; $i += 2) {
				if (isset($queryStrArr[$i+1])) {
					$queryStr .= '&' . $queryStrArr[$i] . '=' . $queryStrArr[$i+1];
				} else {
					$queryStr .= '&' . $queryStrArr[$i] . '=';
				}
			}
			$url = 'http://' . $_SERVER['HTTP_HOST'] . $filePath . $queryStr;
		}
	}	
}
// 获取请求文件
if (file_exists('.' . $filePath)) {
	echo file_get_contents($url);
} else {
	echo '文件不存在';
}
